package com.cinc.mdm.modules.processRoute.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecg.common.aspect.annotation.Dict;
import org.jeecgframework.poi.excel.annotation.Excel;
import org.springframework.format.annotation.DateTimeFormat;

import java.util.Date;

/**
 * @Description: 工艺路线明细
 * @Author: jeecg-boot
 * @Date: 2022-07-21
 * @Version: V1.0
 */
@Data
@ApiModel(value = "mdm_process_routePage对象", description = "工艺路线")
public class MdmProcessRouteDetailPage {

    // 主表
    /**
     * 物料ID
     */
    @Excel(name = "物料ID", width = 15)
    @ApiModelProperty(value = "物料ID")
    private String materialId;
    /**
     * 物料编号
     */
    @Excel(name = "物料编号", width = 15)
    @ApiModelProperty(value = "物料编号")
    private String materialNo;
    /**
     * 物料描述
     */
    @Excel(name = "物料描述", width = 15)
    @ApiModelProperty(value = "物料描述")
    private String materialDesc;
    /**
     * 工艺版本
     */
    @Excel(name = "工艺版本", width = 15)
    @ApiModelProperty(value = "工艺版本")
    private String processVersion;
    /**
     * 工厂
     */
    @Excel(name = "工厂", width = 15, dictTable = "mdm_factory", dicText = "factory_name", dicCode = "id")
    @Dict(dictTable = "mdm_factory", dicText = "factory_name", dicCode = "id")
    @ApiModelProperty(value = "工厂")
    private String factory;
    /**
     * 工艺路径
     */
    @Excel(name = "工艺路径", width = 15)
    @ApiModelProperty(value = "工艺路径")
    private String processDesc;
    /**
     * 生效标志
     */
    @Excel(name = "生效标志", width = 15)
    @ApiModelProperty(value = "生效标志")
    private String effectFlag;
    /**
     * 生效日期
     */
    @Excel(name = "生效日期", width = 15, format = "yyyy-MM-dd")
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "生效日期")
    private Date effectDate;

    // 明细表
    /**
     * 主键
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ApiModelProperty(value = "主键")
    private String id;
    /**
     * 主表ID
     */
    @ApiModelProperty(value = "主表ID")
    private String mainId;
    /**
     * 分类ID
     */
    @ApiModelProperty(value = "分类ID")
    private String classId;
    /**
     * 序号
     */
    @Excel(name = "序号", width = 15)
    @ApiModelProperty(value = "序号")
    private Integer seqNo;
    /**
     * sop
     */
    @Excel(name = "sop", width = 15)
    @ApiModelProperty(value = "sop")
    private String sop;
    /**
     * 工作中心
     */
    @Excel(name = "工作中心", width = 15, dictTable = "mdm_work_center", dicText = "work_center_name", dicCode = "id")
    @Dict(dictTable = "mdm_work_center", dicText = "work_center_name", dicCode = "id")
    @ApiModelProperty(value = "工作中心")
    private String workId;
    /**
     * 工序控制ID
     */
    @Excel(name = "工序控制ID", width = 15)
    @ApiModelProperty(value = "工序控制ID")
    private String controlId;
    /**
     * 工序控制码
     */
    @Excel(name = "工序控制码", width = 15)
    @ApiModelProperty(value = "工序控制码")
    private String controlCode;
    /**
     * 工序控制描述
     */
    @Excel(name = "工序控制描述", width = 15)
    @ApiModelProperty(value = "工序控制描述")
    private String controlDesc;
    /**
     * 工序名称
     */
    @Excel(name = "工序名称", width = 15)
    @ApiModelProperty(value = "工序名称")
    private String processName;
    /**
     * 计价类型
     */
    @Excel(name = "计价类型", width = 15, dicCode = "mdm_process_price_type")
    @Dict(dicCode = "mdm_process_price_type")
    @ApiModelProperty(value = "计价类型")
    private String priceType;
    /**
     * 车间
     */
    @Excel(name = "车间", width = 15)
    @ApiModelProperty(value = "车间")
    private String workshop;
    /**
     * 操作者
     */
    @Excel(name = "操作者", width = 15, dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "操作者")
    private String handler;
    /**
     * 标准工时
     */
    @Excel(name = "标准工时", width = 15)
    @ApiModelProperty(value = "标准工时")
    private java.math.BigDecimal standardHours;
    /**
     * 准备工时
     */
    @Excel(name = "准备工时", width = 15)
    @ApiModelProperty(value = "准备工时")
    private java.math.BigDecimal prepareHours;
    /**
     * 等待工时
     */
    @Excel(name = "等待工时", width = 15)
    @ApiModelProperty(value = "等待工时")
    private java.math.BigDecimal waitHours;
    /**
     * 单位
     */
    @Excel(name = "单位", width = 15, dictTable = "mdm_unit", dicText = "unit_name", dicCode = "unit_code")
    @Dict(dictTable = "mdm_unit", dicText = "unit_name", dicCode = "unit_code")
    @ApiModelProperty(value = "单位")
    private String unit;
    /**
     * 模具/工装
     */
    @Excel(name = "模具/工装", width = 15)
    @ApiModelProperty(value = "模具/工装")
    private String mould;
    /**
     * 要求说明
     */
    @Excel(name = "要求说明", width = 15)
    @ApiModelProperty(value = "要求说明")
    private String routeDesc;
    /**
     * 创建人
     */
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "创建人")
    private String createBy;
    /**
     * 创建时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "创建时间")
    private Date createTime;
    /**
     * 修改人
     */
    @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "username")
    @ApiModelProperty(value = "修改人")
    private String updateBy;
    /**
     * 修改时间
     */
    @JsonFormat(timezone = "GMT+8", pattern = "yyyy-MM-dd")
    @DateTimeFormat(pattern = "yyyy-MM-dd")
    @ApiModelProperty(value = "修改时间")
    private Date updateTime;
    /**
     * 所属部门
     */
    @ApiModelProperty(value = "所属部门")
    private String sysOrgCode;
    /**
     * 租户ID
     */
    @Excel(name = "租户ID", width = 15)
    @ApiModelProperty(value = "租户ID")
    private Integer tenantId;

}
